// كونۇپكا ھالىتىنى ساقلاش ئۈچۈن ئوبيېكت
const keyboardState = {
    shift: false,
    capsLock: false,
    soundEnabled: true // ئاۋاز ئېچىك بولسا true
};

// ئاۋاز ئوبيېكتىنى قۇرۇش
const keySound = new Audio('assets/audio/keyboard-voice.mp3');

// كونۇپكىلارنى باسقاندا كۆرۈنۈشىنى ئۆزگەرتىش
document.addEventListener('keydown', (event) => {
    const code = event.code;
    const keyElement = document.querySelector(`[data-key="${code}"]`);
    
    if (keyElement) {
        keyElement.classList.add('bg-gray-600', 'scale-95');
        keyElement.classList.remove('hover:bg-gray-700');
    }
    
    // Shift ۋە CapsLock كونۇپكىلىرىنى تەكشۈرۈش
    if (code === 'ShiftLeft' || code === 'ShiftRight') {
        keyboardState.shift = true;
    } else if (code === 'CapsLock') {
        keyboardState.capsLock = !keyboardState.capsLock;
    }
    
    playKeySound(); // كۇنۇپكا بېسىلغاندا ئاۋازنى قويۇش
    updateKeyboardDisplay();
});

// كونۇپكىلارنى قويۇۋەتكەندە كۆرۈنۈشىنى ئەسلىگە قايتۇرۇش
document.addEventListener('keyup', (event) => {
    const code = event.code;
    const keyElement = document.querySelector(`[data-key="${code}"]`);
    
    if (keyElement) {
        keyElement.classList.remove('bg-gray-600', 'scale-95');
        keyElement.classList.add('hover:bg-gray-700');
    }
    
    // // Shift كونۇپكىسىنى تەكشۈرۈش
    // if (code === 'ShiftLeft' || code === 'ShiftRight') {
    //     keyboardState.shift = false;
    // } // ۋاقىتلىق تاقاپ قويدۇق
    
    updateKeyboardDisplay();
});

// ئاۋازنى قويۇش ئىقتىدارى
function playKeySound() {
    if (keyboardState.soundEnabled) {
        keySound.currentTime = 0; // ھەر قېتىم باشتىن باشلاش
        keySound.play();
    }
}

// ئاۋازنى ئېچىش/تاقاش ئىقتىدارى (باشقا ھۆججەتلەر ئۈچۈن)
function setKeyboardSoundEnabled(enabled) {
    keyboardState.soundEnabled = enabled;
    // ئاۋازنىڭ ھالىتىنى localStorage غا ساقلاش (optional)
    localStorage.setItem('keyboardSoundEnabled', enabled);
}

// بەت يۈكلەنگەندە ئاۋاز ھالىتىنى localStorage دىن ئوقۇش
document.addEventListener('DOMContentLoaded', () => {
    const savedSoundState = localStorage.getItem('keyboardSoundEnabled');
    if (savedSoundState !== null) {
        keyboardState.soundEnabled = savedSoundState === 'true';
    }
    // Sidebar دىكى تېزگۈچنىڭ باشلىنىش ئەھۋالىنى تەڭشەش (theme.js قا يۆتكەش كېرەك)
});

// كونۇپكا كۆرۈنۈشىنى يېڭىلاش
function updateKeyboardDisplay() {
    const letters = document.querySelectorAll('[data-key^="Key"]');
    letters.forEach(letter => {
        const key = letter.getAttribute('data-key').replace('Key', '');
        const textSpan = letter.querySelector('span:first-child');
        if (textSpan) {
            textSpan.textContent = (keyboardState.shift || keyboardState.capsLock) ?
                key.toUpperCase() : key.toLowerCase();
        }
    });
}

// كىرگۈزۈش رامكىسى فوكۇس بولغاندا كونۇپكا كۆرۈنۈشىنى كۆرسىتىش
const typingArea = document.getElementById('typingArea');
if (typingArea) {
    typingArea.addEventListener('focus', () => {
        const keyboardPreview = document.querySelector('.keyboard-preview');
        if (keyboardPreview) {
            keyboardPreview.classList.remove('hidden');
            keyboardPreview.classList.add('block');
        }
    });

    // كىرگۈزۈش رامكىسى فوكۇس ئۆزگەرگەندە كونۇپكا كۆرۈنۈشىنى يوشۇرۇش
    typingArea.addEventListener('blur', () => {
        const keyboardPreview = document.querySelector('.keyboard-preview');
        if (keyboardPreview) {
            keyboardPreview.classList.remove('block');
            keyboardPreview.classList.add('hidden');
        }
    });
}
